/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * StandardizePanel.java
 *
 * Created on Jun 3, 2010, 12:23:49 AM
 */
package GUI;

import TextNor.Expand.ExpandHasPw;
import TextNor.Read.ReadAll;
import java.util.logging.Level;
import java.util.logging.Logger;

import TextNor.Expand.Expand;
import TextNor.Initial.DetectGroup;
import TextNor.Initial.DetectNSW;
import TextNor.Initial.Split;
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.File;
import javax.swing.JFileChooser;

import TextNor.AssignTag.AlphaTag;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import javax.xml.stream.XMLOutputFactory;
import javax.xml.stream.XMLStreamWriter;

import TextNor.AssignTag.AlphaTag_Tree;
import TextNor.AssignTag.GreekTag;
import TextNor.AssignTag.Group;
import TextNor.AssignTag.NumTag;
import TextNor.AssignTag.NumTag_AsignCom;
import TextNor.AssignTag.NumTag_SplitCom;
import TextNor.AssignTag.OtherTag;
import TextNor.Initial.NorPunc;
import TextNor.Read.ReadNgangCheo;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.sql.SQLException;
import javax.xml.stream.XMLStreamException;
import test.browser;

/**
 *
 * @author Kiennt
 */
public class StandardizePanel extends javax.swing.JPanel {
    private String inf="";
    /** Creates new form StandardizePanel */
    public StandardizePanel() {
        initComponents();
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();
        txfFilePath = new javax.swing.JTextField();
        btnFileChooser = new javax.swing.JButton();
        jLabel2 = new javax.swing.JLabel();
        jScrollPane1 = new javax.swing.JScrollPane();
        txaSourceText = new javax.swing.JTextArea();
        btnStart = new javax.swing.JButton();
        jPanel1 = new javax.swing.JPanel();
        btnChuanPhanTach = new javax.swing.JButton();
        btnPhatHienNSW = new javax.swing.JButton();
        btnPhanTachNSWPhuc = new javax.swing.JButton();
        btnPhanNhom = new javax.swing.JButton();
        btnPhanLoaiSoBo = new javax.swing.JButton();
        btnPhanLoaiNCOM = new javax.swing.JButton();
        btnPhanLoaiGREK = new javax.swing.JButton();
        btnPhanLoaiAES = new javax.swing.JButton();
        btnKhoiPhucTuVietTat = new javax.swing.JButton();
        btnXacDinhCachDocDau = new javax.swing.JButton();
        btnInput = new javax.swing.JButton();
        btnOutput = new javax.swing.JButton();
        btnPhanLoaiAES_Tree = new javax.swing.JButton();
        btnKhoiPhucTuVietTatSDLM = new javax.swing.JButton();
        btnPhatHienNhom = new javax.swing.JButton();
        btnPhanLoaiKhac = new javax.swing.JButton();

        setBackground(java.awt.Color.white);
        setPreferredSize(new java.awt.Dimension(1000, 600));

        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        jLabel1.setText("CHUẨN HÓA VĂN BẢN");

        btnFileChooser.setText("Chọn file");
        btnFileChooser.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                btnFileChooserMouseClicked(evt);
            }
        });
        btnFileChooser.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnFileChooserActionPerformed(evt);
            }
        });

        jLabel2.setText("Văn bản nguồn:");

        txaSourceText.setColumns(20);
        txaSourceText.setRows(5);
        jScrollPane1.setViewportView(txaSourceText);

        btnStart.setText("Chuẩn hóa");
        btnStart.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                btnStartMouseClicked(evt);
            }
        });
        btnStart.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnStartActionPerformed(evt);
            }
        });

        jPanel1.setBackground(new java.awt.Color(255, 255, 255));
        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Xem kết quả hiện thị"));

        btnChuanPhanTach.setText("Chuẩn phân tách");
        btnChuanPhanTach.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                btnChuanPhanTachMouseClicked(evt);
            }
        });
        btnChuanPhanTach.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnChuanPhanTachActionPerformed(evt);
            }
        });

        btnPhatHienNSW.setText("Phát hiện NSW");
        btnPhatHienNSW.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                btnPhatHienNSWMouseClicked(evt);
            }
        });
        btnPhatHienNSW.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnPhatHienNSWActionPerformed(evt);
            }
        });

        btnPhanTachNSWPhuc.setText("Ptach NSW phức");
        btnPhanTachNSWPhuc.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                btnPhanTachNSWPhucMouseClicked(evt);
            }
        });
        btnPhanTachNSWPhuc.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnPhanTachNSWPhucActionPerformed(evt);
            }
        });

        btnPhanNhom.setText("Phân nhóm");
        btnPhanNhom.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                btnPhanNhomMouseClicked(evt);
            }
        });
        btnPhanNhom.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnPhanNhomActionPerformed(evt);
            }
        });

        btnPhanLoaiSoBo.setText("Phân loại số sơ bộ");
        btnPhanLoaiSoBo.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                btnPhanLoaiSoBoMouseClicked(evt);
            }
        });
        btnPhanLoaiSoBo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnPhanLoaiSoBoActionPerformed(evt);
            }
        });

        btnPhanLoaiNCOM.setText("Phân loại NSW NCOM");
        btnPhanLoaiNCOM.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                btnPhanLoaiNCOMMouseClicked(evt);
            }
        });
        btnPhanLoaiNCOM.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnPhanLoaiNCOMActionPerformed(evt);
            }
        });

        btnPhanLoaiGREK.setText("Phân loại số Hi Lạp");
        btnPhanLoaiGREK.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                btnPhanLoaiGREKMouseClicked(evt);
            }
        });
        btnPhanLoaiGREK.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnPhanLoaiGREKActionPerformed(evt);
            }
        });

        btnPhanLoaiAES.setText("Phân loại NSW AES");
        btnPhanLoaiAES.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                btnPhanLoaiAESMouseClicked(evt);
            }
        });
        btnPhanLoaiAES.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnPhanLoaiAESActionPerformed(evt);
            }
        });

        btnKhoiPhucTuVietTat.setText("KhPhục từ viết tắt");
        btnKhoiPhucTuVietTat.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                btnKhoiPhucTuVietTatMouseClicked(evt);
            }
        });
        btnKhoiPhucTuVietTat.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnKhoiPhucTuVietTatActionPerformed(evt);
            }
        });

        btnXacDinhCachDocDau.setText("XD cách đọc dấu");
        btnXacDinhCachDocDau.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                btnXacDinhCachDocDauMouseClicked(evt);
            }
        });
        btnXacDinhCachDocDau.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnXacDinhCachDocDauActionPerformed(evt);
            }
        });

        btnInput.setText("Văn bản đầu vào");
        btnInput.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                btnInputMouseClicked(evt);
            }
        });

        btnOutput.setText("Văn bản đã được chuẩn hóa");
        btnOutput.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                btnOutputMouseClicked(evt);
            }
        });

        btnPhanLoaiAES_Tree.setText("Ploại  AES sd cây");
        btnPhanLoaiAES_Tree.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                btnPhanLoaiAES_TreeMouseClicked(evt);
            }
        });

        btnKhoiPhucTuVietTatSDLM.setText("KP từ viết tắt sd LM");
        btnKhoiPhucTuVietTatSDLM.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                btnKhoiPhucTuVietTatSDLMMouseClicked(evt);
            }
        });
        btnKhoiPhucTuVietTatSDLM.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnKhoiPhucTuVietTatSDLMActionPerformed(evt);
            }
        });

        btnPhatHienNhom.setText("Phát hiện nhóm");
        btnPhatHienNhom.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                btnPhatHienNhomMouseClicked(evt);
            }
        });

        btnPhanLoaiKhac.setText("Phân loại khác");
        btnPhanLoaiKhac.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                btnPhanLoaiKhacMouseClicked(evt);
            }
        });
        btnPhanLoaiKhac.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnPhanLoaiKhacActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(77, 77, 77)
                        .addComponent(btnOutput))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(105, 105, 105)
                        .addComponent(btnInput))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                            .addComponent(btnChuanPhanTach, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(btnPhanTachNSWPhuc, javax.swing.GroupLayout.Alignment.LEADING, 0, 0, Short.MAX_VALUE)
                            .addComponent(btnPhanLoaiNCOM, javax.swing.GroupLayout.Alignment.LEADING, 0, 0, Short.MAX_VALUE)
                            .addComponent(btnKhoiPhucTuVietTatSDLM, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(btnPhanLoaiAES, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(btnPhanLoaiKhac, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(btnPhanNhom, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                        .addGap(32, 32, 32)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addComponent(btnPhanLoaiGREK, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(btnPhatHienNSW, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(btnPhanLoaiSoBo, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(btnPhatHienNhom, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                            .addComponent(btnPhanLoaiAES_Tree, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(btnKhoiPhucTuVietTat, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(btnXacDinhCachDocDau, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
                .addContainerGap(24, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(45, 45, 45)
                .addComponent(btnInput)
                .addGap(18, 18, 18)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btnPhatHienNSW)
                    .addComponent(btnChuanPhanTach))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btnPhatHienNhom)
                    .addComponent(btnPhanTachNSWPhuc))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btnPhanLoaiSoBo)
                    .addComponent(btnPhanNhom))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(btnPhanLoaiGREK)
                            .addComponent(btnPhanLoaiNCOM))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(btnPhanLoaiAES_Tree)
                            .addComponent(btnPhanLoaiAES)))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(59, 59, 59)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(btnKhoiPhucTuVietTat)
                            .addComponent(btnPhanLoaiKhac))))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btnKhoiPhucTuVietTatSDLM)
                    .addComponent(btnXacDinhCachDocDau))
                .addGap(18, 18, 18)
                .addComponent(btnOutput)
                .addContainerGap(92, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(txfFilePath, javax.swing.GroupLayout.PREFERRED_SIZE, 471, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(btnFileChooser))
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(layout.createSequentialGroup()
                                        .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 587, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))
                                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                                        .addComponent(btnStart, javax.swing.GroupLayout.PREFERRED_SIZE, 106, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(58, 58, 58)))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 29, Short.MAX_VALUE)
                                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(jLabel2)))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(383, 383, 383)
                        .addComponent(jLabel1)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel1)
                .addGap(11, 11, 11)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txfFilePath, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btnFileChooser))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel2)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 447, Short.MAX_VALUE))
                .addGap(18, 18, 18)
                .addComponent(btnStart, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(28, 28, 28))
        );
    }// </editor-fold>//GEN-END:initComponents

    private void btnFileChooserMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnFileChooserMouseClicked
        // TODO add your handling code here:
        Thread t = new Thread(new Runnable() {

            public void run() {
                JFileChooser fileopen = new JFileChooser();
                fileopen.setCurrentDirectory(new File("E://Project//TextNorDemo//textNor"));
                //        FileFilter filter = new FileNameExtensionFilter("Source text", "txt");
                //        fileopen.addChoosableFileFilter(filter);

                int ret = fileopen.showDialog(null, "Mở file");

                if (ret == JFileChooser.APPROVE_OPTION) {
                    File file = fileopen.getSelectedFile();
                    txfFilePath.setText(file.getName());

                    FileInputStream fis = null;
                    BufferedInputStream bis = null;
                    DataInputStream dis = null;

                    txaSourceText.setAutoscrolls(true);
                    try {

                        fis = new FileInputStream(file);

                        // Here BufferedInputStream is added for fast reading.
                        bis = new BufferedInputStream(fis);
                        dis = new DataInputStream(bis);
                        BufferedReader br = new BufferedReader(new InputStreamReader(fis, "UTF-8"));

                        // dis.available() returns 0 if the file does not have more lines.
                        while (dis.available() != 0) {

                            // this statement reads the line from the file and print it to
                            // the console.
                            txaSourceText.append(br.readLine() + "\n");
                        }

                        // dispose all the resources after using them.
                        fis.close();
                        bis.close();
                        dis.close();

                    } catch (FileNotFoundException e) {
                        e.printStackTrace();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        });
        t.start();
}//GEN-LAST:event_btnFileChooserMouseClicked

    private void btnChuanPhanTachActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnChuanPhanTachActionPerformed
        // TODO add your handling code here:
}//GEN-LAST:event_btnChuanPhanTachActionPerformed

    private void btnPhatHienNSWActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnPhatHienNSWActionPerformed
        // TODO add your handling code here:
}//GEN-LAST:event_btnPhatHienNSWActionPerformed

    private void btnPhanTachNSWPhucActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnPhanTachNSWPhucActionPerformed
        // TODO add your handling code here:
}//GEN-LAST:event_btnPhanTachNSWPhucActionPerformed

    private void btnPhanNhomActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnPhanNhomActionPerformed
        // TODO add your handling code here:
}//GEN-LAST:event_btnPhanNhomActionPerformed

    private void btnPhanLoaiSoBoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnPhanLoaiSoBoActionPerformed
        // TODO add your handling code here:
}//GEN-LAST:event_btnPhanLoaiSoBoActionPerformed

    private void btnPhanLoaiNCOMActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnPhanLoaiNCOMActionPerformed
        // TODO add your handling code here:
}//GEN-LAST:event_btnPhanLoaiNCOMActionPerformed

    private void btnPhanLoaiGREKActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnPhanLoaiGREKActionPerformed
        // TODO add your handling code here:
}//GEN-LAST:event_btnPhanLoaiGREKActionPerformed

    private void btnPhanLoaiAESActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnPhanLoaiAESActionPerformed
        // TODO add your handling code here:
}//GEN-LAST:event_btnPhanLoaiAESActionPerformed

    private void btnKhoiPhucTuVietTatActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnKhoiPhucTuVietTatActionPerformed
        // TODO add your handling code here:
}//GEN-LAST:event_btnKhoiPhucTuVietTatActionPerformed

    private void btnXacDinhCachDocDauActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnXacDinhCachDocDauActionPerformed
        // TODO add your handling code here:
}//GEN-LAST:event_btnXacDinhCachDocDauActionPerformed

    private void btnStartActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnStartActionPerformed
        
    }//GEN-LAST:event_btnStartActionPerformed

    private void btnFileChooserActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnFileChooserActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_btnFileChooserActionPerformed

    private void btnChuanPhanTachMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnChuanPhanTachMouseClicked
        // TODO add your handling code here:
//        String fileName = txfFilePath.getText();
//        String inf = "file:///E:/Project/TextNorDemo/textNor/" + fileName.substring(0, fileName.length() - 4);
        try {
            try {
                java.awt.Desktop.getDesktop().browse(new URI(inf + "_punc.xml"));
            } catch (IOException ex) {
                Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
            }
        } catch (URISyntaxException ex) {
            Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
        }

}//GEN-LAST:event_btnChuanPhanTachMouseClicked

    private void btnPhatHienNSWMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnPhatHienNSWMouseClicked
//        String fileName = txfFilePath.getText();
//        String inf = "file:///E:/Project/TextNorDemo/textNor/" + fileName.substring(0, fileName.length() - 4);
        try {
            try {
                java.awt.Desktop.getDesktop().browse(new URI(inf + "_punc_nsw.xml"));
            } catch (IOException ex) {
                Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
            }
        } catch (URISyntaxException ex) {
            Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
        }

}//GEN-LAST:event_btnPhatHienNSWMouseClicked

    private void btnPhanTachNSWPhucMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnPhanTachNSWPhucMouseClicked
        String fileName = txfFilePath.getText();
      this.inf = "file:///E:/Project/TextNorDemo/textNor/" + fileName.substring(0, fileName.length() - 4);
        try {
            try {
                java.awt.Desktop.getDesktop().browse(new URI(inf + "_punc_nsw_gr_split.xml"));
            } catch (IOException ex) {
                Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
            }
        } catch (URISyntaxException ex) {
            Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
        }


}//GEN-LAST:event_btnPhanTachNSWPhucMouseClicked

    private void btnPhanNhomMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnPhanNhomMouseClicked
//        String fileName = txfFilePath.getText();
//        String inf = "file:///E:/Project/TextNorDemo/textNor/" + fileName.substring(0, fileName.length() - 4);
        try {
            try {
                java.awt.Desktop.getDesktop().browse(new URI(inf + "_punc_nsw_gr_split_group.xml"));
            } catch (IOException ex) {
                Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
            }
        } catch (URISyntaxException ex) {
            Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
        }
}//GEN-LAST:event_btnPhanNhomMouseClicked

    private void btnPhanLoaiSoBoMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnPhanLoaiSoBoMouseClicked
//        String fileName = txfFilePath.getText();
//        String inf = "file:///E:/Project/TextNorDemo/textNor/" + fileName.substring(0, fileName.length() - 4);
        try {
            try {
                java.awt.Desktop.getDesktop().browse(new URI(inf + "_punc_nsw_gr_split_group_num.xml"));
            } catch (IOException ex) {
                Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
            }
        } catch (URISyntaxException ex) {
            Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
        }
}//GEN-LAST:event_btnPhanLoaiSoBoMouseClicked

    private void btnPhanLoaiNCOMMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnPhanLoaiNCOMMouseClicked
//        String fileName = txfFilePath.getText();
//        String inf = "file:///E:/Project/TextNorDemo/textNor/" + fileName.substring(0, fileName.length() - 4);
        try {
            try {
                java.awt.Desktop.getDesktop().browse(new URI(inf + "_punc_nsw_gr_split_group_num_splitCom_asignCom.xml"));
            } catch (IOException ex) {
                Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
            }
        } catch (URISyntaxException ex) {
            Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
        }
}//GEN-LAST:event_btnPhanLoaiNCOMMouseClicked

    private void btnPhanLoaiGREKMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnPhanLoaiGREKMouseClicked
//        String fileName = txfFilePath.getText();
//        String inf = "file:///E:/Project/TextNorDemo/textNor/" + fileName.substring(0, fileName.length() - 4);
        try {
            try {
                java.awt.Desktop.getDesktop().browse(new URI(inf + "_punc_nsw_gr_split_group_num_splitCom_asignCom_greek.xml"));
            } catch (IOException ex) {
                Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
            }
        } catch (URISyntaxException ex) {
            Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
        }
}//GEN-LAST:event_btnPhanLoaiGREKMouseClicked

    private void btnPhanLoaiAESMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnPhanLoaiAESMouseClicked
//        String fileName = txfFilePath.getText();
//        String inf = "file:///E:/Project/TextNorDemo/textNor/" + fileName.substring(0, fileName.length() - 4);
        try {
            try {
                java.awt.Desktop.getDesktop().browse(new URI(inf + "_punc_nsw_gr_split_group_num_splitCom_asignCom_greek_alpha.xml"));
            } catch (IOException ex) {
                Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
            }
        } catch (URISyntaxException ex) {
            Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
        }
}//GEN-LAST:event_btnPhanLoaiAESMouseClicked

    private void btnKhoiPhucTuVietTatMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnKhoiPhucTuVietTatMouseClicked
//       String fileName = txfFilePath.getText();
//        String inf = "file:///E:/Project/TextNorDemo/textNor/" + fileName.substring(0, fileName.length() - 4);
        try {
            try {
                java.awt.Desktop.getDesktop().browse(new URI( inf + "_punc_nsw_gr_split_group_num_splitCom_asignCom_greek_alphaTree_other_expn.xml"));
            } catch (IOException ex) {
                Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
            }
        } catch (URISyntaxException ex) {
            Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
        }
}//GEN-LAST:event_btnKhoiPhucTuVietTatMouseClicked

    private void btnXacDinhCachDocDauMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnXacDinhCachDocDauMouseClicked

//        String fileName = txfFilePath.getText();
//        String inf = "file:///E:/Project/TextNorDemo/textNor/" + fileName.substring(0, fileName.length() - 4);
        try {
            try {
                java.awt.Desktop.getDesktop().browse(new URI(inf + "_punc_nsw_gr_split_group_num_splitCom_asignCom_greek_alphaTree_other_expnLM_ngangcheo.xml"));
            } catch (IOException ex) {
                Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
            }
        } catch (URISyntaxException ex) {
            Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
        }

}//GEN-LAST:event_btnXacDinhCachDocDauMouseClicked

    private void btnKhoiPhucTuVietTatSDLMActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnKhoiPhucTuVietTatSDLMActionPerformed
        // TODO add your handling code here:
}//GEN-LAST:event_btnKhoiPhucTuVietTatSDLMActionPerformed

    private void btnPhanLoaiKhacActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnPhanLoaiKhacActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_btnPhanLoaiKhacActionPerformed

    private void btnInputMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnInputMouseClicked
//        String fileName = txfFilePath.getText();
//        String inf = "file:///E:/Project/TextNorDemo/textNor/" + fileName.substring(0, fileName.length() - 4);
        try {
            try {
                java.awt.Desktop.getDesktop().browse(new URI(inf + ".xml"));
            } catch (IOException ex) {
                Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
            }
        } catch (URISyntaxException ex) {
            Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
        }
    }//GEN-LAST:event_btnInputMouseClicked

    private void btnPhatHienNhomMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnPhatHienNhomMouseClicked
        // TODO add your handling code here:
//        String fileName = txfFilePath.getText();
//        String inf = "file:///E:/Project/TextNorDemo/textNor/" + fileName.substring(0, fileName.length() - 4);
        try {
            try {
                java.awt.Desktop.getDesktop().browse(new URI(inf + "_punc_nsw_gr.xml"));
            } catch (IOException ex) {
                Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
            }
        } catch (URISyntaxException ex) {
            Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
        }
}//GEN-LAST:event_btnPhatHienNhomMouseClicked

    private void btnPhanLoaiAES_TreeMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnPhanLoaiAES_TreeMouseClicked
//        String fileName = txfFilePath.getText();
//        String inf = "file:///E:/Project/TextNorDemo/textNor/" + fileName.substring(0, fileName.length() - 4);
        try {
            try {
                java.awt.Desktop.getDesktop().browse(new URI(inf + "_punc_nsw_gr_split_group_num_splitCom_asignCom_greek_alphaTree.xml"));
            } catch (IOException ex) {
                Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
            }
        } catch (URISyntaxException ex) {
            Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
        }
    }//GEN-LAST:event_btnPhanLoaiAES_TreeMouseClicked

    private void btnKhoiPhucTuVietTatSDLMMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnKhoiPhucTuVietTatSDLMMouseClicked
//        String fileName = txfFilePath.getText();
//        String inf = "file:///E:/Project/TextNorDemo/textNor/" + fileName.substring(0, fileName.length() - 4);
        try {
            try {
                java.awt.Desktop.getDesktop().browse(new URI(inf + "_punc_nsw_gr_split_group_num_splitCom_asignCom_greek_alphaTree_other_expnLM.xml"));
            } catch (IOException ex) {
                Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
            }
        } catch (URISyntaxException ex) {
            Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
        }
    }//GEN-LAST:event_btnKhoiPhucTuVietTatSDLMMouseClicked

    private void btnOutputMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnOutputMouseClicked
//        String fileName = txfFilePath.getText();
//        String inf = "file:///E:/Project/TextNorDemo/textNor/" + fileName.substring(0, fileName.length() - 4);
        try {
            try {
                java.awt.Desktop.getDesktop().browse(new URI( inf + "_punc_nsw_gr_split_group_num_splitCom_asignCom_greek_alphaTree_other_expnLM_ngangcheo_all.xml"));
            } catch (IOException ex) {
                Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
            }
        } catch (URISyntaxException ex) {
            Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
        }
    }//GEN-LAST:event_btnOutputMouseClicked

    private void btnPhanLoaiKhacMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnPhanLoaiKhacMouseClicked
        // TODO add your handling code here:
//         String fileName = txfFilePath.getText();
//        String inf = "file:///E:/Project/TextNorDemo/textNor/" + fileName.substring(0, fileName.length() - 4);
        try {
            try {
                java.awt.Desktop.getDesktop().browse(new URI( inf + "_punc_nsw_gr_split_group_num_splitCom_asignCom_greek_alphaTree_other.xml"));
            } catch (IOException ex) {
                Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
            }
        } catch (URISyntaxException ex) {
            Logger.getLogger(browser.class.getName()).log(Level.SEVERE, null, ex);
        }
    }//GEN-LAST:event_btnPhanLoaiKhacMouseClicked

    private void btnStartMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnStartMouseClicked
        // TODO add your handling code here:
        String fileName = txfFilePath.getText();
        if(fileName.equals("")){
            FileOutputStream fos = null;

            FileOutputStream inputSentDetect = null;
            {
                OutputStreamWriter osw = null;

                OutputStreamWriter oisd = null;
                try {
                    String sourceContent = txaSourceText.getText();
                    
                    inputSentDetect = new FileOutputStream("textNor\\input.txt");
                    oisd = new OutputStreamWriter(inputSentDetect, "UTF8");
                    oisd.write(sourceContent);
                    oisd.close();
                    inputSentDetect.close();// doan nay viet them de lay noi dung text dau vao

                    fos = new FileOutputStream("textNor\\input.xml");
                    osw = new OutputStreamWriter(fos, "UTF8");
                    XMLStreamWriter xmlStreamWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(osw);
                    xmlStreamWriter.writeStartElement("root");
                    xmlStreamWriter.writeStartElement("record");
                    xmlStreamWriter.writeAttribute("recId", "1");
                    xmlStreamWriter.writeStartElement("Infomation");
                    xmlStreamWriter.writeCharacters(sourceContent);
                    xmlStreamWriter.writeEndElement();
                    xmlStreamWriter.writeEndElement();
                    xmlStreamWriter.writeEndElement();
                    osw.close();
                    fos.close();
                    fileName="input.xml";
                    this.inf="file:///E:/Project/TextNorDemo/textNor/" + fileName.substring(0, fileName.length() - 4);

                } catch (IOException ex) {
                    Logger.getLogger(StandardizePanel.class.getName()).log(Level.SEVERE, null, ex);
                } catch (XMLStreamException ex) {
                    Logger.getLogger(StandardizePanel.class.getName()).log(Level.SEVERE, null, ex);
                
                
                } finally {
                    try {
                        fos.close();
                    } catch (IOException ex) {
                        Logger.getLogger(StandardizePanel.class.getName()).log(Level.SEVERE, null, ex);
                    }
                    try {
                        osw.close();
                    } catch (IOException ex) {
                        Logger.getLogger(StandardizePanel.class.getName()).log(Level.SEVERE, null, ex);
                    }
                }
            }
        }else{
            fileName = txfFilePath.getText();
            this.inf="file:///E:/Project/TextNorDemo/textNor/" + fileName.substring(0, fileName.length() - 4);
        }
        try {
            // TODO add your handling code here:
            
            String inF = "textNor\\" + fileName.substring(0, fileName.length() - 4);
            NorPunc np = new NorPunc(inF + ".xml", inF + "_punc.xml");
            DetectNSW dtn = new DetectNSW(inF + "_punc.xml", inF + "_punc_nsw.xml");
            DetectGroup dtu = new DetectGroup(inF + "_punc_nsw.xml", inF + "_punc_nsw_gr.xml");
            Split sp = new Split(inF + "_punc_nsw_gr.xml", inF + "_punc_nsw_gr_split.xml");
            Group gtag = new Group(inF + "_punc_nsw_gr_split.xml", inF + "_punc_nsw_gr_split_group.xml");
            NumTag ntag = new NumTag(inF + "_punc_nsw_gr_split_group.xml", inF + "_punc_nsw_gr_split_group_num.xml");
            NumTag_SplitCom ntsc = new NumTag_SplitCom(inF + "_punc_nsw_gr_split_group_num.xml", inF + "_punc_nsw_gr_split_group_num_splitCom.xml");
            NumTag_AsignCom ntac = new NumTag_AsignCom(inF + "_punc_nsw_gr_split_group_num_splitCom.xml", inF + "_punc_nsw_gr_split_group_num_splitCom_asignCom.xml");
            GreekTag grtag = new GreekTag(inF + "_punc_nsw_gr_split_group_num_splitCom_asignCom.xml", inF + "_punc_nsw_gr_split_group_num_splitCom_asignCom_greek.xml");
            AlphaTag atag = new AlphaTag(inF + "_punc_nsw_gr_split_group_num_splitCom_asignCom_greek.xml", inF + "_punc_nsw_gr_split_group_num_splitCom_asignCom_greek_alpha.xml");
            AlphaTag_Tree atagt = new AlphaTag_Tree(inF + "_punc_nsw_gr_split_group_num_splitCom_asignCom_greek.xml", inF + "_punc_nsw_gr_split_group_num_splitCom_asignCom_greek_alphaTree.xml");
            OtherTag otag = new OtherTag(inF + "_punc_nsw_gr_split_group_num_splitCom_asignCom_greek_alphaTree.xml", inF + "_punc_nsw_gr_split_group_num_splitCom_asignCom_greek_alphaTree_other.xml");
            Expand exp = new Expand(inF + "_punc_nsw_gr_split_group_num_splitCom_asignCom_greek_alphaTree_other.xml", inF + "_punc_nsw_gr_split_group_num_splitCom_asignCom_greek_alphaTree_other_expn.xml");
            ExpandHasPw explm = new ExpandHasPw(inF + "_punc_nsw_gr_split_group_num_splitCom_asignCom_greek_alphaTree_other.xml", inF + "_punc_nsw_gr_split_group_num_splitCom_asignCom_greek_alphaTree_other_expnLM.xml");
            ReadNgangCheo rnc = new ReadNgangCheo(inF + "_punc_nsw_gr_split_group_num_splitCom_asignCom_greek_alphaTree_other_expnLM.xml", inF + "_punc_nsw_gr_split_group_num_splitCom_asignCom_greek_alphaTree_other_expnLM_ngangcheo.xml");
            ReadAll ra = new ReadAll(inF + "_punc_nsw_gr_split_group_num_splitCom_asignCom_greek_alphaTree_other_expnLM_ngangcheo.xml", inF + "_punc_nsw_gr_split_group_num_splitCom_asignCom_greek_alphaTree_other_expnLM_ngangcheo_all.xml");
        } catch (SQLException ex) {
            Logger.getLogger(StandardizePanel.class.getName()).log(Level.SEVERE, null, ex);
        } catch (UnsupportedEncodingException ex) {
            Logger.getLogger(StandardizePanel.class.getName()).log(Level.SEVERE, null, ex);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(StandardizePanel.class.getName()).log(Level.SEVERE, null, ex);
        } catch (XMLStreamException ex) {
            Logger.getLogger(StandardizePanel.class.getName()).log(Level.SEVERE, null, ex);
        } catch (FileNotFoundException ex) {
            Logger.getLogger(StandardizePanel.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(StandardizePanel.class.getName()).log(Level.SEVERE, null, ex);
        }
    }//GEN-LAST:event_btnStartMouseClicked

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btnChuanPhanTach;
    private javax.swing.JButton btnFileChooser;
    private javax.swing.JButton btnInput;
    private javax.swing.JButton btnKhoiPhucTuVietTat;
    private javax.swing.JButton btnKhoiPhucTuVietTatSDLM;
    private javax.swing.JButton btnOutput;
    private javax.swing.JButton btnPhanLoaiAES;
    private javax.swing.JButton btnPhanLoaiAES_Tree;
    private javax.swing.JButton btnPhanLoaiGREK;
    private javax.swing.JButton btnPhanLoaiKhac;
    private javax.swing.JButton btnPhanLoaiNCOM;
    private javax.swing.JButton btnPhanLoaiSoBo;
    private javax.swing.JButton btnPhanNhom;
    private javax.swing.JButton btnPhanTachNSWPhuc;
    private javax.swing.JButton btnPhatHienNSW;
    private javax.swing.JButton btnPhatHienNhom;
    private javax.swing.JButton btnStart;
    private javax.swing.JButton btnXacDinhCachDocDau;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextArea txaSourceText;
    private javax.swing.JTextField txfFilePath;
    // End of variables declaration//GEN-END:variables
}
